草庐IT

ios - NSJSONSerialization 和 SBJson 工作异常

全部标签

ruby - 在 MiniTest 的 assert_raises/must_raise 中检查异常消息的预期语法是什么?

在MiniTest的assert_raises/must_raise中检查异常消息的预期语法是什么?我正在尝试做出如下断言,其中"Foo"是预期的错误消息:proc{bar.do_it}.must_raiseRuntimeError.new("Foo") 最佳答案 您可以使用assert_raises断言,或must_raise期待。it"mustraise"doassert_raisesRuntimeErrordobar.do_itend->{bar.do_it}.must_raiseRuntimeErrorlambda{bar.

ruby - RVM 在 ZSH 中不工作

我想在我的Mac上试用ZSHshell,但我也进行了大量的Ruby和Rails开发,所以我也经常使用RVM。问题是我似乎无法让RVM在ZSH中工作,但它在默认的Bashshell中工作正常:>zsh>rvm1.9.2>ruby-vruby1.8.7(2009-06-12patchlevel174)[universal-darwin10.0]>whichruby/usr/bin/ruby我可以确定安装了RVM,以及RVM下的ruby1.9.2;我一直在Bash中使用它。有趣的是,在ZSH中运行rvmlist显示了这一点:rvmrubiesruby-1.8.7-p302[x86_64]=>

ruby - 从本地文件或 url 打开 IO 流

我知道有其他语言的库可以接受包含本地文件路径或url的字符串,并将其作为可读IO流打开。在ruby​​中有没有简单的方法来做到这一点? 最佳答案 open-uri是标准Ruby库的一部分,它将重新定义open的行为,以便您可以打开url以及本地文件。它返回一个File对象,因此您应该能够调用read和readlines等方法。require'open-uri'file_contents=open('local-file.txt'){|f|f.read}web_contents=open('http://www.stackoverfl

ruby - 在不引发异常的情况下获取 Ruby 中的当前堆栈跟踪

我想在Rails3应用程序中记录当前回溯(堆栈跟踪),不会发生异常。知道怎么做吗?我为什么要这个?我正在尝试跟踪Rails查找模板时进行的调用,以便我可以选择要覆盖的过程的一部分(因为我想更改我的特定子类Controller的View路径)。我想从文件中调用它:gems\actionpack-3.2.3\lib\action_dispatch\middleware\templates\rescues\missing_template.erb。我知道这不是最佳做法,但我知道它位于搜索模板的堆栈下游。 最佳答案 您可以使用Kernel#

ruby-on-rails - RVM 和 rbenv 实际上是如何工作的?

我对RVM和rbenv的实际工作方式很感兴趣。很明显,它们在不同版本的Ruby和gemset之间交换,但这是如何实现的?我原以为他们只是更新符号链接(symboliclink),但深入研究了代码(我必须承认我对Bash的了解很肤浅)他们似乎做的不止于此。 最佳答案 简短说明:rbenv通过连接到您环境的PATH来工作。概念很简单,但细节决定成败;下面是完整的独家新闻。首先,rbenv为所有命令(ruby、irb、rake、创建shimsgem等)跨所有已安装的Ruby版本。此过程称为重新散列。每次安装新版本的Ruby或安装提供命令的

ruby - 在 Ruby 中引发异常与抛出异常有什么区别?

Ruby有两种不同的异常机制:Throw/Catch和Raise/Rescue。为什么我们有两个?什么时候应该使用一个而不是另一个? 最佳答案 raise、fail、rescue和ensure处理错误,也称为异常(exception)throw和catch是控制流Unlikeinotherlanguages,Ruby’sthrowandcatcharenotusedforexceptions.Instead,theyprovideawaytoterminateexecutionearlywhennofurtherworkisneed

ruby-on-rails - 如何在任何异常情况下使用 RSpec 的 should_raise?

我想做这样的事情:some_method.should_raise我应该怎么做?some_method.should_raiseexception...不起作用。 最佳答案 expect{some_method}.toraise_errorRSpec1语法:lambda{some_method}.shouldraise_error参见thedocumentation(对于RSpec1语法)和RSpec2documentation了解更多。 关于ruby-on-rails-如何在任何异常情

ruby - rvm 安装不工作 : "RVM is not a function"

我刚刚安装了RVM,但无法正常工作。我的.profile文件末尾有这样一行:[[-s"$HOME/.rvm/scripts/rvm"]]&&."$HOME/.rvm/scripts/rvm"我尝试运行source.profile并重新启动终端,但是,当我运行rvmuse1.9.2时,我仍然得到:RVMisnotafunction,selectingrubieswith'rvmuse...'willnotwork.我的系统是Ubuntu11.10。 最佳答案 您需要运行以下命令$source~/.rvm/scripts/rvm然后运行

ruby - 如何在 Ruby 中获取当前工作目录的绝对路径?

我在Windows上运行Ruby,但我不知道这是否会有所不同。我只想获取当前工作目录的绝对路径。这可能来自irb吗?显然,从脚本中可以使用File.expand_path(__FILE__)但是我从irb尝试了以下操作并得到了“权限被拒绝”错误:File.new(Dir.new(".").path).expand 最佳答案 Dir.pwd为当前工作目录http://ruby-doc.org/core/Dir.html#method-c-pwd 关于ruby-如何在Ruby中获取当前工作目

javascript - xlxs.js "l"单元格超链接对象选项如何工作

我目前正在使用以下库制作excel文档https://github.com/SheetJS/js-xlsx/blob/master/README.md现在我的两个细胞看起来像这样ws[XLSX.utils.encode_cell({c:0,r:1})]={v:"ReportUrl",s:{font:{sz:"11",bold:true}}}ws[XLSX.utils.encode_cell({c:1,r:1})]={v:self.url,s:{font:{sz:"11"}}}产生一行:“ReportUrl”|::真的很长很丑的url::文档说有一个“l”选项,但没有提供有关如何使用它的